/***************************************************************************************************
  *Copyright(C),2010-2017,Sumscope
  *FileName	:  pinyin_search_engine2.h
  *Author	:  scofined.qi
  *Version	:  1.0
  *Date		:  2017/06/05
  *Desc		:  //用于主要说明此程序文件完成的主要功能
  *Relation :  
  *Others	:  //其他内容说明
  *Function :  //主要函数列表，每条记录应包含函数名及功能简要说明
  *History	:  //修改历史记录列表，每条修改记录应包含修改日期、修改者及修改内容简介
***************************************************************************************************/
#pragma once

#include "pinyin_search_define.h"
#include <core/instance/singleton.h>

namespace qb{
	namespace base{
		namespace internal{
			class SpellSearchMergedImpl;
            class SpellSearchMerged : public ISpellSearch, public qb::base::Singleton<SpellSearchMerged>{
				SpellSearchMergedImpl*		m_impl;
			public:
				SpellSearchMerged();
				virtual ~SpellSearchMerged();
				virtual void BuildIndex(bool diskless)override;
                virtual void FindBonds(const std::wstring& text, ISpellSearchListener* listener);
				virtual bool AddBondChange(BondChangeBuffer* change);
                virtual void GetAllKeys(std::vector<std::wstring>& keys);
			};
		}
	}
}
